$(document).ready(function() {

	// email중복 체크
	jQuery.validator.addMethod('emailCheck', function(email) {
		var postURL = "/login/emailCheck";
		$.ajax({
			cache : false,
			async : false,
			type : "POST",
			data : "email=" + email,
			url : postURL,
			success : function(msg) {
				result = (msg == 'TRUE') ? true : false;
			}
		});
		return result;
	}, '');

	$("#l_registerForm").validate({
		rules : {
			email : {
				emailCheck : true
			}
		}
	});

	reloadMonitoringType();
	$("#l_loginForm").validate();
	$("#l_searchDataForm").validate();
	ko();
});

// 모니터링 타입을 취득, 화면을 갱신
function reloadMonitoringType() {
	var flag = $("#l_monitoringType input[type='radio']:checked").val();

	hide("l_webpageType");
	hide("l_searchType");
	hide("l_customType");

	if (flag == "1") {
		show("l_searchType");
	} else if (flag == "2") {
		show("l_customType");
	} else {
		show("l_webpageType");
	}
}

/*
 * 입력 폼 체크 ==================================== 시작
 */
var validateArray = new Array("required", "url");

function show(id) {
	$("#" + id).show();
	priValidateClass(id, true);
}

function hide(id) {
	$("#" + id).hide();
	priValidateClass(id, false);
}

function priValidateClass(id, showFlag) {
	var hasClassDummy = "";
	var addClassDummy = "dummy_";
	var removeClassDummy = "";

	if (showFlag) {
		hasClassDummy = "dummy_";
		addClassDummy = "";
		removeClassDummy = "dummy_";
	}

	for (i = 0; i < validateArray.length; i++) {
		var validateClass = validateArray[i];
		$("#" + id + " input," + "#" + id + " select," + "#" + id + " textarea")
				.each(function() {
					$e = $(this);

					if (!showFlag) { // 비표시의 경우 에러 클래스를 삭제
						$e.removeClass("error");
					}

					if ($e.hasClass(hasClassDummy + validateClass)) {
						$e.addClass(addClassDummy + validateClass);
						$e.removeClass(removeClassDummy + validateClass);
					}
				});
	}
}
/*
 * 입력 폼 체크 ==================================== 끝
 */

function login() {

}

// jquery.validate.ko
function ko() {
	jQuery.extend(jQuery.validator.messages, {
		required : "필수 입력 항목입니다.",
		remote : "이 항목을 수정해주세요.",
		email : "유효한 e메일을 입력해주세요.",
		url : "유효한 URL을 입력해주세요.",
		date : "유효한 날짜를 입력해주세요.",
		dateISO : "유효한 날짜(ISO)을 입력해주세요.",
		number : "유효한 숫자를 입력해주세요.",
		digits : "숫자만 입력해주세요.",
		creditcard : "유효한 신용카드 번호를 입력해주세요.",
		equalTo : "같은 값을 한번 더 입력해주세요.",
		accept : "유효한 확장자를 포함한 값을 입력하세요.",
		maxlength : jQuery.format("{0} 문자이내로 입력해주세요."),

		minlength : jQuery.format("{0} 문자이상 입력해주세요."),
		rangelength : jQuery.format("{0} 문자이상 {1} 문자이내로 값을 입력해주세요."),
		range : jQuery.format("{0} から {1} までの値を入力してください。"),
		max : jQuery.format("{0} 이하의 값을 입력해주세요."),
		min : jQuery.format("{1} 이상의 값을 입력해주세요."),

		emailCheck : "이미 사용중인 메일입니다."
	});
}

// jquery.validate.ja
function ja() {
	jQuery.extend(jQuery.validator.messages, {
		required : "このフィールドは必須です。",
		remote : "このフィールドを修正してください。",
		email : "有効なEメールアドレスを入力してください。",
		url : "有効なURLを入力してください。",
		date : "有効な日付を入力してください。",
		dateISO : "有効な日付（ISO）を入力してください。",
		number : "有効な数字を入力してください。",
		digits : "数字のみを入力してください。",
		creditcard : "有効なクレジットカード番号を入力してください。",
		equalTo : "同じ値をもう一度入力してください。",
		accept : "有効な拡張子を含む値を入力してください。",
		maxlength : jQuery.format("{0} 文字以内で入力してください。"),

		minlength : jQuery.format("{0} 文字以上で入力してください。"),
		rangelength : jQuery.format("{0} 文字から {1} 文字までの値を入力してください。"),
		range : jQuery.format("{0} から {1} までの値を入力してください。"),
		max : jQuery.format("{0} 以下の値を入力してください。"),
		min : jQuery.format("{1} 以上の値を入力してください。"),
		emailCheck : "すでに登録されたメールです。"
	});
}